package com.i8office.android.zhihuixinwu.bean;


import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * Created by pc on 2018/7/7.
 */

public class WorkSheetNew implements Serializable {


    /**
     * detail : {"ReceivedDocumentUnit":"来文单位","DocumentNumber":"[锡-223232号]","ClosedOrHairTime":"2019-04-24 15:08","DocumentTitle":"关于规范交通的通知","attachments":[{"AttID":"0f0cf6a7-c4b6-469c-9a64-951fcd8e3b0c","AttFileName":"出访活动日程表.docx","AttExtension":"docx","AttFileSize":16440,"UploadTime":"2019-04-24T15:10:04.923","WkfObjectType":"worksheet","WkfObjectID":"1ee52cc7-2491-432f-9771-b148bad2696d"},{"AttID":"ebb390f5-b5f5-4856-86c4-feeb5b4901f5","AttFileName":"出访人员名单.docx","AttExtension":"docx","AttFileSize":16297,"UploadTime":"2019-04-24T15:10:05.47","WkfObjectType":"worksheet","WkfObjectID":"1ee52cc7-2491-432f-9771-b148bad2696d"},{"AttID":"ed145985-ebe6-4a41-922d-f29f050699cf","AttFileName":"出访人员名单1.docx","AttExtension":"docx","AttFileSize":16199,"UploadTime":"2019-04-24T15:10:06.03","WkfObjectType":"worksheet","WkfObjectID":"1ee52cc7-2491-432f-9771-b148bad2696d"},{"AttID":"d4577dce-6329-4ae9-9d87-ab65aa108e1d","AttFileName":"德国 捷克出访活动安排表.xlsx","AttExtension":"xlsx","AttFileSize":12398,"UploadTime":"2019-04-24T15:10:09.47","WkfObjectType":"worksheet","WkfObjectID":"1ee52cc7-2491-432f-9771-b148bad2696d"}],"nibanOpinion":"请张常委阅，请朱主任阅。","nibanUser":"王佳","nibanTime":"2018-04-24 16:49","leaderOpinion":[{"EmplId":"100558","EmplName":"王进健","Value":"拟同意","UpdateTime":"2018-4-24 16:57"},{"EmplId":"100652","EmplName":"封晓春","Value":"同意的","UpdateTime":"2018-4-24 16:57"},{"EmplId":"100655","EmplName":"洪延炜","Value":"已阅","UpdateTime":"2018-4-24 16:58"}],"deptOpinion":[{"EmplId":"102641","EmplName":"李桂林","Value":"已阅","UpdateTime":"2018-4-24 16:59"},{"EmplId":"100178","EmplName":"吴建华","Value":"可以的","UpdateTime":"2018-4-24 16:59"},{"EmplId":"100177","EmplName":"钱国新","Value":"同意","UpdateTime":"2018-4-24 17:00"},{"EmplId":"100175","EmplName":"龚伯云","Value":"支持","UpdateTime":"2018-4-24 17:00"}],"detpAttachments":[]}
     * control : {"showReadedButton":{"show":true,"row":0,"col":0,"targetNodeKey":""},"needOpinion":{"show":true,"row":0,"col":0,"targetNodeKey":""}}
     */

    private DetailBean detail;
    private ControlBean control;
    /**
     * action : {"saveCell":[{"type":"name","row":9,"col":5},{"type":"date","row":9,"col":8}]}
     */

    private ActionBean action;
    private InputTypes inputTypes;

    public DetailBean getDetail() {
        return detail;
    }

    public void setDetail(DetailBean detail) {
        this.detail = detail;
    }

    public ControlBean getControl() {
        return control;
    }

    public void setControl(ControlBean control) {
        this.control = control;
    }

    public ActionBean getAction() {
        return action;
    }

    public void setAction(ActionBean action) {
        this.action = action;
    }

    public InputTypes getInputTypes() {
        return inputTypes;
    }

    public void setInputTypes(InputTypes inputTypes) {
        this.inputTypes = inputTypes;
    }

    public static class DetailBean implements Serializable {
        /**
         * ReceivedDocumentUnit : 来文单位
         * DocumentNumber : [锡-223232号]
         * ClosedOrHairTime : 2019-04-24 15:08
         * DocumentTitle : 关于规范交通的通知
         * attachments : [{"AttID":"0f0cf6a7-c4b6-469c-9a64-951fcd8e3b0c","AttFileName":"出访活动日程表.docx","AttExtension":"docx","AttFileSize":16440,"UploadTime":"2019-04-24T15:10:04.923","WkfObjectType":"worksheet","WkfObjectID":"1ee52cc7-2491-432f-9771-b148bad2696d"},{"AttID":"ebb390f5-b5f5-4856-86c4-feeb5b4901f5","AttFileName":"出访人员名单.docx","AttExtension":"docx","AttFileSize":16297,"UploadTime":"2019-04-24T15:10:05.47","WkfObjectType":"worksheet","WkfObjectID":"1ee52cc7-2491-432f-9771-b148bad2696d"},{"AttID":"ed145985-ebe6-4a41-922d-f29f050699cf","AttFileName":"出访人员名单1.docx","AttExtension":"docx","AttFileSize":16199,"UploadTime":"2019-04-24T15:10:06.03","WkfObjectType":"worksheet","WkfObjectID":"1ee52cc7-2491-432f-9771-b148bad2696d"},{"AttID":"d4577dce-6329-4ae9-9d87-ab65aa108e1d","AttFileName":"德国 捷克出访活动安排表.xlsx","AttExtension":"xlsx","AttFileSize":12398,"UploadTime":"2019-04-24T15:10:09.47","WkfObjectType":"worksheet","WkfObjectID":"1ee52cc7-2491-432f-9771-b148bad2696d"}]
         * nibanOpinion : 请张常委阅，请朱主任阅。
         * nibanUser : 王佳
         * nibanTime : 2018-04-24 16:49
         * leaderOpinion : [{"EmplId":"100558","EmplName":"王进健","Value":"拟同意","UpdateTime":"2018-4-24 16:57"},{"EmplId":"100652","EmplName":"封晓春","Value":"同意的","UpdateTime":"2018-4-24 16:57"},{"EmplId":"100655","EmplName":"洪延炜","Value":"已阅","UpdateTime":"2018-4-24 16:58"}]
         * deptOpinion : [{"EmplId":"102641","EmplName":"李桂林","Value":"已阅","UpdateTime":"2018-4-24 16:59"},{"EmplId":"100178","EmplName":"吴建华","Value":"可以的","UpdateTime":"2018-4-24 16:59"},{"EmplId":"100177","EmplName":"钱国新","Value":"同意","UpdateTime":"2018-4-24 17:00"},{"EmplId":"100175","EmplName":"龚伯云","Value":"支持","UpdateTime":"2018-4-24 17:00"}]
         * detpAttachments : []
         */

//        private String ReceivedDocumentUnit;
//        private String DocumentNumber;
//        private String ClosedOrHairTime;
//        private String nibanOpinion;
//        private String nibanUser;
//        private String nibanTime;
        private List<AttachmentsBean> attachments;
        private List<AttachmentBean> allAttachments = new ArrayList<>();
        private List<LeaderOpinionBean> leaderOpinion;
        private List<DeptOpinionBean> deptOpinion;
        private String mid;
        private String nid;
        private String sid;

        public List<AttachmentsBean> getAttachments() {
            return attachments;
        }

        public void setAttachments(List<AttachmentsBean> attachments) {
            this.attachments = attachments;
        }

        public List<AttachmentBean> getAllAttachments() {
            return allAttachments;
        }

        public void setAllAttachments(List<AttachmentBean> allAttachments) {
            this.allAttachments = allAttachments;
        }

        public List<LeaderOpinionBean> getLeaderOpinion() {
            return leaderOpinion;
        }

        public void setLeaderOpinion(List<LeaderOpinionBean> leaderOpinion) {
            this.leaderOpinion = leaderOpinion;
        }

        public List<DeptOpinionBean> getDeptOpinion() {
            return deptOpinion;
        }

        public void setDeptOpinion(List<DeptOpinionBean> deptOpinion) {
            this.deptOpinion = deptOpinion;
        }

        public String getMid() {
            return mid;
        }

        public void setMid(String mid) {
            this.mid = mid;
        }

        public String getNid() {
            return nid;
        }

        public void setNid(String nid) {
            this.nid = nid;
        }

        public String getSid() {
            return sid;
        }

        public void setSid(String sid) {
            this.sid = sid;
        }


        public static class AttachmentsBean implements Serializable {
            private String documentTitle;
            private List<AttachmentBean> data;

            public String getDocumentTitle() {
                return documentTitle;
            }

            public void setDocumentTitle(String documentTitle) {
                this.documentTitle = documentTitle;
            }

            public List<AttachmentBean> getData() {
                return data;
            }

            public void setData(List<AttachmentBean> data) {
                this.data = data;
            }
        }

        public static class AttachmentBean implements Serializable {
            /**
             * AttID : 0f0cf6a7-c4b6-469c-9a64-951fcd8e3b0c
             * AttFileName : 出访活动日程表.docx
             * AttExtension : docx
             * AttFileSize : 16440
             * UploadTime : 2019-04-24T15:10:04.923
             * WkfObjectType : worksheet
             * WkfObjectID : 1ee52cc7-2491-432f-9771-b148bad2696d
             */

            private String AttID;
            private String AttFileName;
            private String AttExtension;
            private int AttFileSize;
            private String UploadTime;
            private String WkfObjectType;
            private String WkfObjectID;
            private int type;

            public AttachmentBean(String AttFileName, int type) {
                this.type = type;
                this.AttFileName = AttFileName;
            }

            public void setType(int type) {
                this.type = type;
            }

            public int getType() {
                return type;
            }

            public String getAttID() {
                return AttID;
            }

            public void setAttID(String AttID) {
                this.AttID = AttID;
            }

            public String getAttFileName() {
                return AttFileName;
            }

            public void setAttFileName(String AttFileName) {
                this.AttFileName = AttFileName;
            }

            public String getAttExtension() {
                return AttExtension;
            }

            public void setAttExtension(String AttExtension) {
                this.AttExtension = AttExtension;
            }

            public int getAttFileSize() {
                return AttFileSize;
            }

            public void setAttFileSize(int AttFileSize) {
                this.AttFileSize = AttFileSize;
            }

            public String getUploadTime() {
                return UploadTime;
            }

            public void setUploadTime(String UploadTime) {
                this.UploadTime = UploadTime;
            }

            public String getWkfObjectType() {
                return WkfObjectType;
            }

            public void setWkfObjectType(String WkfObjectType) {
                this.WkfObjectType = WkfObjectType;
            }

            public String getWkfObjectID() {
                return WkfObjectID;
            }

            public void setWkfObjectID(String WkfObjectID) {
                this.WkfObjectID = WkfObjectID;
            }
        }

        public static class LeaderOpinionBean implements Serializable {
            /**
             * EmplId : 100558
             * EmplName : 王进健
             * Value : 拟同意
             * UpdateTime : 2018-4-24 16:57
             */

            private String EmplId;
            private String EmplName;
            private String Value;
            private String UpdateTime;

            public String getEmplId() {
                return EmplId;
            }

            public void setEmplId(String EmplId) {
                this.EmplId = EmplId;
            }

            public String getEmplName() {
                return EmplName;
            }

            public void setEmplName(String EmplName) {
                this.EmplName = EmplName;
            }

            public String getValue() {
                return Value;
            }

            public void setValue(String Value) {
                this.Value = Value;
            }

            public String getUpdateTime() {
                return UpdateTime;
            }

            public void setUpdateTime(String UpdateTime) {
                this.UpdateTime = UpdateTime;
            }
        }

        public static class DeptOpinionBean implements Serializable {
            /**
             * EmplId : 102641
             * EmplName : 李桂林
             * Value : 已阅
             * UpdateTime : 2018-4-24 16:59
             */

            private String EmplId;
            private String EmplName;
            private String Value;
            private String UpdateTime;

            public String getEmplId() {
                return EmplId;
            }

            public void setEmplId(String EmplId) {
                this.EmplId = EmplId;
            }

            public String getEmplName() {
                return EmplName;
            }

            public void setEmplName(String EmplName) {
                this.EmplName = EmplName;
            }

            public String getValue() {
                return Value;
            }

            public void setValue(String Value) {
                this.Value = Value;
            }

            public String getUpdateTime() {
                return UpdateTime;
            }

            public void setUpdateTime(String UpdateTime) {
                this.UpdateTime = UpdateTime;
            }
        }
    }

    public static class ControlBean implements Serializable {
        /**
         * showReadedButton : {"show":true,"row":0,"col":0,"targetNodeKey":""}
         * needOpinion : {"show":true,"row":0,"col":0,"targetNodeKey":""}
         */

        private ShowReadedButtonBean showReadedButton;
        private NeedOpinionBean needOpinion;

        public ShowReadedButtonBean getShowReadedButton() {
            return showReadedButton;
        }

        public void setShowReadedButton(ShowReadedButtonBean showReadedButton) {
            this.showReadedButton = showReadedButton;
        }

        public NeedOpinionBean getNeedOpinion() {
            return needOpinion;
        }

        public void setNeedOpinion(NeedOpinionBean needOpinion) {
            this.needOpinion = needOpinion;
        }

        public static class ShowReadedButtonBean implements Serializable {
            /**
             * show : true
             * row : 0
             * col : 0
             * targetNodeKey :
             */

            private boolean show;
            private int row;
            private int col;
            private String targetNodeKey;

            public boolean isShow() {
                return show;
            }

            public void setShow(boolean show) {
                this.show = show;
            }

            public int getRow() {
                return row;
            }

            public void setRow(int row) {
                this.row = row;
            }

            public int getCol() {
                return col;
            }

            public void setCol(int col) {
                this.col = col;
            }

            public String getTargetNodeKey() {
                return targetNodeKey;
            }

            public void setTargetNodeKey(String targetNodeKey) {
                this.targetNodeKey = targetNodeKey;
            }
        }

        public static class NeedOpinionBean implements Serializable {
            /**
             * show : true
             * row : 0
             * col : 0
             * targetNodeKey :
             */

            private boolean show;
            private String row;
            private String col;
            private String targetNodeKey;

            public boolean isShow() {
                return show;
            }

            public void setShow(boolean show) {
                this.show = show;
            }

            public String getRow() {
                return row;
            }

            public void setRow(String row) {
                this.row = row;
            }

            public String getCol() {
                return col;
            }

            public void setCol(String col) {
                this.col = col;
            }

            public String getTargetNodeKey() {
                return targetNodeKey;
            }

            public void setTargetNodeKey(String targetNodeKey) {
                this.targetNodeKey = targetNodeKey;
            }
        }
    }

    public static class ActionBean implements Serializable {
        private List<SaveCellBean> saveCell;

        public List<SaveCellBean> getSaveCell() {
            return saveCell;
        }

        public void setSaveCell(List<SaveCellBean> saveCell) {
            this.saveCell = saveCell;
        }

        public static class SaveCellBean implements Serializable {
            /**
             * type : name
             * row : 9
             * col : 5
             */

            private String type;
            private String row;
            private String col;

            public String getType() {
                return type;
            }

            public void setType(String type) {
                this.type = type;
            }

            public String getRow() {
                return row;
            }

            public void setRow(String row) {
                this.row = row;
            }

            public String getCol() {
                return col;
            }

            public void setCol(String col) {
                this.col = col;
            }
        }
    }

    public static class InputTypes implements Serializable {

        /**
         * type : select
         * extra : {"options":["同意","不同意"]}
         */

        private String type;
        private ExtraBean extra;

        public String getType() {
            return type;
        }

        public void setType(String type) {
            this.type = type;
        }

        public ExtraBean getExtra() {
            return extra;
        }

        public void setExtra(ExtraBean extra) {
            this.extra = extra;
        }

        public static class ExtraBean implements Serializable{
            private List<String> options;

            public List<String> getOptions() {
                return options;
            }

            public void setOptions(List<String> options) {
                this.options = options;
            }
        }
    }

}
